package com.cloudkinto.service.sc;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cloudkinto.common.web.PageResult;
import com.cloudkinto.common.web.SingleResult;
import com.cloudkinto.entity.ScFarawayRuleDo;
import com.cloudkinto.vo.sc.ScFarawayPageVo;
import com.cloudkinto.vo.sc.faraway.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 偏远地区规则 service接口
 * </p>
 *
 * @author hua
 * @since 2024-11-05
 */
public interface ScFarawayRuleService extends IService<ScFarawayRuleDo> {

    SingleResult addInit();

    Object add(FarawayAddReq req, Long userId, Long tenantId);

    SingleResult updateInit(Long id);

    Object update(FarawayUpdateReq updateVo, Long userId, Long tenantId);

    int delete(Long id, Long userId, Long tenantId);

    Object detail(Long id);

    SingleResult pageInit();

    List<ScFarawayPageVo> getList(Map<String, Object> map);

    PageResult getListPage(Map<String, Object> map);

    FarawayRuleImportRes importRuleDetail(MultipartFile file, Long farawayRuleId, Long userId, Long tenantId);

    void exportDetailRule(String farawayRuleId, HttpServletResponse response);

    Object addInfoRule(FarawayInfoRuleAddReq req, Long userId, boolean check);

    Object updateInfoRule(FarawayInfoRuleUpdateReq req, Long userId, boolean check);
}
